home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 June / Macworld (1999-06).dmg / Shareware World / Info / For Developers / MacZoop2.0.sea / MacZoop2.0 / Required Classes / CursorUtilities.h < prev    next >
Text File  |  1999-01-25  |  2KB  |  94 lines

  1. /*************************************************************************************************
  2. *
  3. *
  4. *        CursorUtilities.h            - cursor stuff- spinning watch, etc
  5. *
  6. *        26/9/94        ©1994, Graham Cox
  7. *
  8. *************************************************************************************************/
  9.  
  10. #pragma once
  11.  
  12. #ifndef __CURSORUTILITIES__
  13. #define __CURSORUTILITIES__
  14.  
  15. #include    <Retrace.h>
  16.  
  17. // animated cursor record
  18.  
  19. #if PRAGMA_ALIGN_SUPPORTED
  20. #pragma options align=mac68k
  21. #endif
  22.  
  23. typedef struct
  24. {
  25.     unsigned short    numCursors;
  26.     unsigned short    index;
  27.     CursHandle        cursors[1];
  28. }
  29. acur, *acurPtr, **acurHdl;
  30.  
  31. // modified task record
  32.  
  33. typedef struct
  34. {
  35.     VBLTask        theTask;
  36.     long        A5;
  37.     acurHdl        theCursor;
  38. }
  39. VBLTaskWithA5, *VBLTaskWithA5Ptr;
  40.  
  41. #if PRAGMA_ALIGN_SUPPORTED
  42. #pragma options align=reset
  43. #endif
  44.  
  45. // prototypes
  46. #ifdef __cplusplus
  47. extern "C"
  48. {
  49. #endif
  50.     
  51.     acurHdl        InitAnimatedCursor( short resID );
  52.     void        DisposeAnimatedCursor( acurHdl cursH );
  53.     
  54.     void        StartCursorAnimation( short period, acurHdl theCursor );
  55.     void        StopCursorAnimation();
  56.     void        PauseCursorAnimation( short tempFixedCursorID );
  57.     void        ResumeCursorAnimation();
  58.     
  59.     void        AnimateCursor( short increment, acurHdl theCursor);
  60.     void        LockCursorData( acurHdl theCursor );
  61.     void        UnlockCursorData( acurHdl theCursor );
  62.  
  63.     #ifndef    __powerc
  64.         void        VBLCursorSpin();
  65.     #else
  66.         void        VBLCursorSpin( VBLTaskWithA5Ptr theTask );
  67.     #endif
  68.  
  69.     void        SetWatchCursor();
  70.     void        SetBeachBallCursor();
  71.     void        SetBusyArrowCursor();
  72.     short        GetModifiers();
  73.  
  74.     void        AppCursorInit();
  75.     void        AppCursorFree();
  76.     
  77.     Boolean        CursorAnimating();
  78.     Boolean        CursorAnimationVBLRunning();
  79.     
  80.     void        SetCursorShape( short resID );
  81.  
  82. #ifdef __cplusplus
  83. }
  84. #endif
  85.  
  86. // constants
  87.  
  88. #define        kWatchFrameCount    8
  89. #define        kWatchResID            129
  90. #define        kBeachBallResID        128
  91. #define        kBusyArrowResID        130
  92.  
  93. #endif
  94.